package atividade;

import java.util.ArrayList;
import java.util.List;

import dominio.ativacao.FuncaoAtivacao;
import dominio.ativacao.especializacao.FuncaoDegrau;
import dominio.ativacao.especializacao.FuncaoGaussiana;
import dominio.ativacao.especializacao.FuncaoLinear;
import dominio.ativacao.especializacao.FuncaoSignada;
import dominio.ativacao.especializacao.FuncaoSinal;

public class Atividade2 {
	
	public static void main(String[] args) {
	
		if( args.length < 1 ){
			System.err.println(">> parâmetros de entrada incorretos.");
			System.err.println(">> P1 - entrada líquida (u)");
			System.exit(1);
		}
		
		double entradaLiquida = Double.parseDouble( args[0] );
		
		System.out.println("Entrada liquida: " + entradaLiquida);
		
		List<FuncaoAtivacao> funcoes = new ArrayList<FuncaoAtivacao>();
		funcoes.add( new FuncaoDegrau() );
		funcoes.add( new FuncaoSignada() );
		funcoes.add( new FuncaoGaussiana() );
		funcoes.add( new FuncaoLinear() );
		funcoes.add( new FuncaoSinal() );
		
		for( FuncaoAtivacao fa : funcoes ) {
			System.out.print( fa.toString() + " -> " );
			System.out.println( fa.aplicarFuncaoAtivacao( entradaLiquida ) );
		}
		
	}
	
}
